void work(int k) {
    #pragma omp ordered
    printf(" %d\n", k);
}

void ordered_good(int n) {
    int i;
    #pragma omp for ordered
    for (i=0; i<n; i++) {
        if (i <= 10) {
            #pragma omp ordered
            work(i);
        }
        if (i > 10) {
            #pragma omp ordered
            work(i+1);
        }
    }
}

int main() {
    ordered_good(100);
    return 0;
}
